#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//void printBinary(int n)
//{
//	if (n == 0)
//	{
//		printf("0");
//	}
//	else if (n == 1)
//	{
//		printf("1");
//	}
//	else
//	{
//		printBinary(n / 2);
//		printf("%d", n % 2);
//	}
//}

//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0;
//	for (i = 1; i <=n; i++)
//	{
//		int count = i*2-1;
//		if (i == n - 1)
//		{
//			while (count)
//			{
//				printf("*");
//				count--;
//			}
//		}
//		else
//		{
//			
//			if (i == 1)
//			{
//				printf("*\n");
//				continue;
//			}
//			printf("*");
//			while (count-2)
//			{
//				printf(" ");
//				count--;
//			}
//			if (i != 0)
//			{
//				printf("*");
//			}
//			printf("\n");
//		}
//	}
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0; int a = 0; int tmp = 0; int max = 1; int count = 1;
//	scanf("%d", &a);
//	for (i = 1; i < n; i++)
//	{
//		scanf("%d", &tmp);
//		if (tmp > a)
//		{
//			count++;
//			if (count > max)
//				max = count;
//		}
//		else
//		{
//			count = 1;
//		}
//		a = tmp;
//	}
//	printf("%d", max);
//}
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	int i = 0;
//	int a = 0;
//	int tmp = 0;
//	int max = 1;
//	int count = 1;
//	scanf("%d", &a);
//	for (i = 1; i < n; i++)
//	{
//	
//		scanf("%d", &tmp);
//		if (tmp>a)
//		{
//			count++;
//			if(count>max)
//			max = count;
//		}
//		else
//		{
//			count = 1;
//		}
//		a = tmp;
//	}
//	printf("%d", max);
//}
//#include<stdio.h>
//void print_pattern(int n)
//{
//    
//    scanf("%d", &n);
//    int i = 0;
//    for (i = 1; i <= n; i++)
//    {
//        int count = n - i;
//        int num = (i - 2) * 2 + 1;
//        if (i == n)
//        {
//            count = 2 * n - 1;
//            while (count)
//            {
//                printf("*");
//                count--;
//            }
//            printf("\n");
//            break;
//        }
//        while (count)
//        {
//            printf(" ");
//            count--;
//        }
//        if (i == 1)
//        {
//            printf("*\n");
//            continue;
//        }
//        printf("*");
//        while (num)
//        {
//            printf(" ");
//            num--;
//        }
//        printf("*");
//        printf("\n");
//    }
//}
//int main()
//{
//    print_pattern(1);
//}
//#include<stdio.h>
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//
//}
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void sort(char** strs, int len)
{
	int i = 0; int* str = (int*)malloc(sizeof(int) * len);
	if (str == NULL)
	{
		perror("malloc fail");
		exit(-1);
	}
	for (i = 0; i < len; i++)
	{
		str[i] = strlen(strs[i]);
	}
	for (i = 0; i < len; i++)
	{
		int flaw = 1;
		if (str[i] > str[i - 1])
		{
			char* tmp = strs[i];
			strs[i] = strs[i - 1];
			strs[i - 1] = tmp;
			flaw = 0;
		}
		if (flaw == 1)
		{
			break;
		}
	}
}

int main()
{
	char str[5][10] = { {"a"},{"ddddddd"},{"aa"},{"cbafe"},{"abc"} };
	sort(str, 10);
	int i = 0;
	for (i = 0; i < 5; i++)
	{
		printf("%s ", str[i]);
	}
}